package lol.clann.minecraft.springboot.api.annotation.config;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 加载插件时,会在适当时机把所有Service下被注解的属性用配置文件中设置的值进行赋值
 * 重载时会执行同样的操作
 *
 * @author pyz
 * @date 2018/7/8 下午10:50
 */
@Target(value = {ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Configure {

    /**
     * 在配置文件中的路径
     * 如果没有,则不会进行赋值 -> 初始值相当于默认值
     * 用.分割
     * 生成配置文件时会使用默认值创建配置文件
     *
     * @return
     */
    String value();

    /**
     * 注释
     * 生成配置文件时,会被写入配置文件
     *
     * @return
     */
    String comment() default "";
}
